Some bug fixes and improvements to the Win32 GDK.
authorTor Lillqvist <tml@src.gnome.org>
Sun, 7 Mar 1999 22:25:54 +0000 (22:25 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Sun, 7 Mar 1999 22:25:54 +0000 (22:25 +0000)
14 files changed:
gdk/win32/gdk.c
gdk/win32/gdkdraw.c
gdk/win32/gdkdrawable-win32.c
gdk/win32/gdkgc-win32.c
gdk/win32/gdkgc.c
gdk/win32/gdkimage-win32.c
gdk/win32/gdkimage.c
gdk/win32/gdkinput-win32.c
gdk/win32/gdkinput.c
gdk/win32/gdkmain-win32.c
gdk/win32/gdkprivate-win32.h
gdk/win32/gdkprivate.h
gdk/win32/gdkwindow-win32.c
gdk/win32/gdkwindow.c

index 0586516e2562039b59ece1a1f797b516e765c2d9..49671a79c40c0b3f4f31bc0fb228aa24ecc507be 100644 (file)
@@ -214,7 +214,7 @@ gdk_init_check (int    *argc,
            else if (strcmp ("--gdk-no-wintab", (*argv)[i]) == 0
                     || strcmp ("--gdk-ignore-wintab", (*argv)[i]) == 0)
              {
-               (*argv)[i++] = NULL;
+               (*argv)[i] = NULL;
                gdk_input_ignore_wintab = TRUE;
              }
          i += 1;
@@ -1783,310 +1783,285 @@ static struct gdk_key {
   { 0x000ef9, "Hangul_J_KkogjiDalrinIeung" },
   { 0x000efa, "Hangul_J_YeorinHieuh" },
   { 0x000eff, "Korean_Won" },
-  { 0x00FD01, "3270_Duplicate" },
-  { 0x00FD02, "3270_FieldMark" },
-  { 0x00FD03, "3270_Right2" },
-  { 0x00FD04, "3270_Left2" },
-  { 0x00FD05, "3270_BackTab" },
-  { 0x00FD06, "3270_EraseEOF" },
-  { 0x00FD07, "3270_EraseInput" },
-  { 0x00FD08, "3270_Reset" },
-  { 0x00FD09, "3270_Quit" },
-  { 0x00FD0A, "3270_PA1" },
-  { 0x00FD0B, "3270_PA2" },
-  { 0x00FD0C, "3270_PA3" },
-  { 0x00FD0D, "3270_Test" },
-  { 0x00FD0E, "3270_Attn" },
-  { 0x00FD0F, "3270_CursorBlink" },
-  { 0x00FD10, "3270_AltCursor" },
-  { 0x00FD11, "3270_KeyClick" },
-  { 0x00FD12, "3270_Jump" },
-  { 0x00FD13, "3270_Ident" },
-  { 0x00FD14, "3270_Rule" },
-  { 0x00FD15, "3270_Copy" },
-  { 0x00FD16, "3270_Play" },
-  { 0x00FD17, "3270_Setup" },
-  { 0x00FD18, "3270_Record" },
-  { 0x00FD19, "3270_ChangeScreen" },
-  { 0x00FD1A, "3270_DeleteWord" },
-  { 0x00FD1B, "3270_ExSelect" },
-  { 0x00FD1C, "3270_CursorSelect" },
-  { 0x00FD1D, "3270_PrintScreen" },
-  { 0x00FD1E, "3270_Enter" },
-  { 0x00FE01, "ISO_Lock" },
-  { 0x00FE02, "ISO_Level2_Latch" },
-  { 0x00FE03, "ISO_Level3_Shift" },
-  { 0x00FE04, "ISO_Level3_Latch" },
-  { 0x00FE05, "ISO_Level3_Lock" },
-  { 0x00FE06, "ISO_Group_Latch" },
-  { 0x00FE07, "ISO_Group_Lock" },
-  { 0x00FE08, "ISO_Next_Group" },
-  { 0x00FE09, "ISO_Next_Group_Lock" },
-  { 0x00FE0A, "ISO_Prev_Group" },
-  { 0x00FE0B, "ISO_Prev_Group_Lock" },
-  { 0x00FE0C, "ISO_First_Group" },
-  { 0x00FE0D, "ISO_First_Group_Lock" },
-  { 0x00FE0E, "ISO_Last_Group" },
-  { 0x00FE0F, "ISO_Last_Group_Lock" },
-  { 0x00FE20, "ISO_Left_Tab" },
-  { 0x00FE21, "ISO_Move_Line_Up" },
-  { 0x00FE22, "ISO_Move_Line_Down" },
-  { 0x00FE23, "ISO_Partial_Line_Up" },
-  { 0x00FE24, "ISO_Partial_Line_Down" },
-  { 0x00FE25, "ISO_Partial_Space_Left" },
-  { 0x00FE26, "ISO_Partial_Space_Right" },
-  { 0x00FE27, "ISO_Set_Margin_Left" },
-  { 0x00FE28, "ISO_Set_Margin_Right" },
-  { 0x00FE29, "ISO_Release_Margin_Left" },
-  { 0x00FE2A, "ISO_Release_Margin_Right" },
-  { 0x00FE2B, "ISO_Release_Both_Margins" },
-  { 0x00FE2C, "ISO_Fast_Cursor_Left" },
-  { 0x00FE2D, "ISO_Fast_Cursor_Right" },
-  { 0x00FE2E, "ISO_Fast_Cursor_Up" },
-  { 0x00FE2F, "ISO_Fast_Cursor_Down" },
-  { 0x00FE30, "ISO_Continuous_Underline" },
-  { 0x00FE31, "ISO_Discontinuous_Underline" },
-  { 0x00FE32, "ISO_Emphasize" },
-  { 0x00FE33, "ISO_Center_Object" },
-  { 0x00FE34, "ISO_Enter" },
-  { 0x00FE50, "dead_grave" },
-  { 0x00FE51, "dead_acute" },
-  { 0x00FE52, "dead_circumflex" },
-  { 0x00FE53, "dead_tilde" },
-  { 0x00FE54, "dead_macron" },
-  { 0x00FE55, "dead_breve" },
-  { 0x00FE56, "dead_abovedot" },
-  { 0x00FE57, "dead_diaeresis" },
-  { 0x00FE58, "dead_abovering" },
-  { 0x00FE59, "dead_doubleacute" },
-  { 0x00FE5A, "dead_caron" },
-  { 0x00FE5B, "dead_cedilla" },
-  { 0x00FE5C, "dead_ogonek" },
-  { 0x00FE5D, "dead_iota" },
-  { 0x00FE5E, "dead_voiced_sound" },
-  { 0x00FE5F, "dead_semivoiced_sound" },
-  { 0x00FE60, "dead_belowdot" },
-  { 0x00FE70, "AccessX_Enable" },
-  { 0x00FE71, "AccessX_Feedback_Enable" },
-  { 0x00FE72, "RepeatKeys_Enable" },
-  { 0x00FE73, "SlowKeys_Enable" },
-  { 0x00FE74, "BounceKeys_Enable" },
-  { 0x00FE75, "StickyKeys_Enable" },
-  { 0x00FE76, "MouseKeys_Enable" },
-  { 0x00FE77, "MouseKeys_Accel_Enable" },
-  { 0x00FE78, "Overlay1_Enable" },
-  { 0x00FE79, "Overlay2_Enable" },
-  { 0x00FE7A, "AudibleBell_Enable" },
-  { 0x00FED0, "First_Virtual_Screen" },
-  { 0x00FED1, "Prev_Virtual_Screen" },
-  { 0x00FED2, "Next_Virtual_Screen" },
-  { 0x00FED4, "Last_Virtual_Screen" },
-  { 0x00FED5, "Terminate_Server" },
-  { 0x00FEE0, "Pointer_Left" },
-  { 0x00FEE1, "Pointer_Right" },
-  { 0x00FEE2, "Pointer_Up" },
-  { 0x00FEE3, "Pointer_Down" },
-  { 0x00FEE4, "Pointer_UpLeft" },
-  { 0x00FEE5, "Pointer_UpRight" },
-  { 0x00FEE6, "Pointer_DownLeft" },
-  { 0x00FEE7, "Pointer_DownRight" },
-  { 0x00FEE8, "Pointer_Button_Dflt" },
-  { 0x00FEE9, "Pointer_Button1" },
-  { 0x00FEEA, "Pointer_Button2" },
-  { 0x00FEEB, "Pointer_Button3" },
-  { 0x00FEEC, "Pointer_Button4" },
-  { 0x00FEED, "Pointer_Button5" },
-  { 0x00FEEE, "Pointer_DblClick_Dflt" },
-  { 0x00FEEF, "Pointer_DblClick1" },
-  { 0x00FEF0, "Pointer_DblClick2" },
-  { 0x00FEF1, "Pointer_DblClick3" },
-  { 0x00FEF2, "Pointer_DblClick4" },
-  { 0x00FEF3, "Pointer_DblClick5" },
-  { 0x00FEF4, "Pointer_Drag_Dflt" },
-  { 0x00FEF5, "Pointer_Drag1" },
-  { 0x00FEF6, "Pointer_Drag2" },
-  { 0x00FEF7, "Pointer_Drag3" },
-  { 0x00FEF8, "Pointer_Drag4" },
-  { 0x00FEF9, "Pointer_EnableKeys" },
-  { 0x00FEFA, "Pointer_Accelerate" },
-  { 0x00FEFB, "Pointer_DfltBtnNext" },
-  { 0x00FEFC, "Pointer_DfltBtnPrev" },
-  { 0x00FEFD, "Pointer_Drag5" },
-  { 0x00FF08, "BackSpace" },
-  { 0x00FF09, "Tab" },
-  { 0x00FF0A, "Linefeed" },
-  { 0x00FF0B, "Clear" },
-  { 0x00FF0D, "Return" },
-  { 0x00FF13, "Pause" },
-  { 0x00FF14, "Scroll_Lock" },
-  { 0x00FF15, "Sys_Req" },
-  { 0x00FF1B, "Escape" },
-  { 0x00FF20, "Multi_key" },
-  { 0x00FF21, "Kanji" },
-  { 0x00FF22, "Muhenkan" },
-  { 0x00FF23, "Henkan" },
-  { 0x00FF23, "Henkan_Mode" },
-  { 0x00FF24, "Romaji" },
-  { 0x00FF25, "Hiragana" },
-  { 0x00FF26, "Katakana" },
-  { 0x00FF27, "Hiragana_Katakana" },
-  { 0x00FF28, "Zenkaku" },
-  { 0x00FF29, "Hankaku" },
-  { 0x00FF2A, "Zenkaku_Hankaku" },
-  { 0x00FF2B, "Touroku" },
-  { 0x00FF2C, "Massyo" },
-  { 0x00FF2D, "Kana_Lock" },
-  { 0x00FF2E, "Kana_Shift" },
-  { 0x00FF2F, "Eisu_Shift" },
-  { 0x00FF30, "Eisu_toggle" },
-  { 0x00FF3C, "SingleCandidate" },
-  { 0x00FF3D, "MultipleCandidate" },
-  { 0x00FF3D, "Zen_Koho" },
-  { 0x00FF3E, "Mae_Koho" },
-  { 0x00FF3E, "PreviousCandidate" },
-  { 0x00FF50, "Home" },
-  { 0x00FF51, "Left" },
-  { 0x00FF52, "Up" },
-  { 0x00FF53, "Right" },
-  { 0x00FF54, "Down" },
-  { 0x00FF55, "Page_Up" },
-  { 0x00FF55, "Prior" },
-  { 0x00FF56, "Next" },
-  { 0x00FF56, "Page_Down" },
-  { 0x00FF57, "End" },
-  { 0x00FF58, "Begin" },
-  { 0x00FF60, "Select" },
-  { 0x00FF61, "Print" },
-  { 0x00FF62, "Execute" },
-  { 0x00FF63, "Insert" },
-  { 0x00FF65, "Undo" },
-  { 0x00FF66, "Redo" },
-  { 0x00FF67, "Menu" },
-  { 0x00FF68, "Find" },
-  { 0x00FF69, "Cancel" },
-  { 0x00FF6A, "Help" },
-  { 0x00FF6B, "Break" },
-  { 0x00FF7E, "Arabic_switch" },
-  { 0x00FF7E, "Greek_switch" },
-  { 0x00FF7E, "Hangul_switch" },
-  { 0x00FF7E, "Hebrew_switch" },
-  { 0x00FF7E, "ISO_Group_Shift" },
-  { 0x00FF7E, "Mode_switch" },
-  { 0x00FF7E, "kana_switch" },
-  { 0x00FF7E, "script_switch" },
-  { 0x00FF7F, "Num_Lock" },
-  { 0x00FF80, "KP_Space" },
-  { 0x00FF89, "KP_Tab" },
-  { 0x00FF8D, "KP_Enter" },
-  { 0x00FF91, "KP_F1" },
-  { 0x00FF92, "KP_F2" },
-  { 0x00FF93, "KP_F3" },
-  { 0x00FF94, "KP_F4" },
-  { 0x00FF95, "KP_Home" },
-  { 0x00FF96, "KP_Left" },
-  { 0x00FF97, "KP_Up" },
-  { 0x00FF98, "KP_Right" },
-  { 0x00FF99, "KP_Down" },
-  { 0x00FF9A, "KP_Page_Up" },
-  { 0x00FF9A, "KP_Prior" },
-  { 0x00FF9B, "KP_Next" },
-  { 0x00FF9B, "KP_Page_Down" },
-  { 0x00FF9C, "KP_End" },
-  { 0x00FF9D, "KP_Begin" },
-  { 0x00FF9E, "KP_Insert" },
-  { 0x00FF9F, "KP_Delete" },
-  { 0x00FFAA, "KP_Multiply" },
-  { 0x00FFAB, "KP_Add" },
-  { 0x00FFAC, "KP_Separator" },
-  { 0x00FFAD, "KP_Subtract" },
-  { 0x00FFAE, "KP_Decimal" },
-  { 0x00FFAF, "KP_Divide" },
-  { 0x00FFB0, "KP_0" },
-  { 0x00FFB1, "KP_1" },
-  { 0x00FFB2, "KP_2" },
-  { 0x00FFB3, "KP_3" },
-  { 0x00FFB4, "KP_4" },
-  { 0x00FFB5, "KP_5" },
-  { 0x00FFB6, "KP_6" },
-  { 0x00FFB7, "KP_7" },
-  { 0x00FFB8, "KP_8" },
-  { 0x00FFB9, "KP_9" },
-  { 0x00FFBD, "KP_Equal" },
-  { 0x00FFBE, "F1" },
-  { 0x00FFBF, "F2" },
-  { 0x00FFC0, "F3" },
-  { 0x00FFC1, "F4" },
-  { 0x00FFC2, "F5" },
-  { 0x00FFC3, "F6" },
-  { 0x00FFC4, "F7" },
-  { 0x00FFC5, "F8" },
-  { 0x00FFC6, "F9" },
-  { 0x00FFC7, "F10" },
-  { 0x00FFC8, "F11" },
-  { 0x00FFC8, "L1" },
-  { 0x00FFC9, "F12" },
-  { 0x00FFC9, "L2" },
-  { 0x00FFCA, "F13" },
-  { 0x00FFCA, "L3" },
-  { 0x00FFCB, "F14" },
-  { 0x00FFCB, "L4" },
-  { 0x00FFCC, "F15" },
-  { 0x00FFCC, "L5" },
-  { 0x00FFCD, "F16" },
-  { 0x00FFCD, "L6" },
-  { 0x00FFCE, "F17" },
-  { 0x00FFCE, "L7" },
-  { 0x00FFCF, "F18" },
-  { 0x00FFCF, "L8" },
-  { 0x00FFD0, "F19" },
-  { 0x00FFD0, "L9" },
-  { 0x00FFD1, "F20" },
-  { 0x00FFD1, "L10" },
-  { 0x00FFD2, "F21" },
-  { 0x00FFD2, "R1" },
-  { 0x00FFD3, "F22" },
-  { 0x00FFD3, "R2" },
-  { 0x00FFD4, "F23" },
-  { 0x00FFD4, "R3" },
-  { 0x00FFD5, "F24" },
-  { 0x00FFD5, "R4" },
-  { 0x00FFD6, "F25" },
-  { 0x00FFD6, "R5" },
-  { 0x00FFD7, "F26" },
-  { 0x00FFD7, "R6" },
-  { 0x00FFD8, "F27" },
-  { 0x00FFD8, "R7" },
-  { 0x00FFD9, "F28" },
-  { 0x00FFD9, "R8" },
-  { 0x00FFDA, "F29" },
-  { 0x00FFDA, "R9" },
-  { 0x00FFDB, "F30" },
-  { 0x00FFDB, "R10" },
-  { 0x00FFDC, "F31" },
-  { 0x00FFDC, "R11" },
-  { 0x00FFDD, "F32" },
-  { 0x00FFDD, "R12" },
-  { 0x00FFDE, "F33" },
-  { 0x00FFDE, "R13" },
-  { 0x00FFDF, "F34" },
-  { 0x00FFDF, "R14" },
-  { 0x00FFE0, "F35" },
-  { 0x00FFE0, "R15" },
-  { 0x00FFE1, "Shift_L" },
-  { 0x00FFE2, "Shift_R" },
-  { 0x00FFE3, "Control_L" },
-  { 0x00FFE4, "Control_R" },
-  { 0x00FFE5, "Caps_Lock" },
-  { 0x00FFE6, "Shift_Lock" },
-  { 0x00FFE7, "Meta_L" },
-  { 0x00FFE8, "Meta_R" },
-  { 0x00FFE9, "Alt_L" },
-  { 0x00FFEA, "Alt_R" },
-  { 0x00FFEB, "Super_L" },
-  { 0x00FFEC, "Super_R" },
-  { 0x00FFED, "Hyper_L" },
-  { 0x00FFEE, "Hyper_R" },
-  { 0x00FFFF, "Delete" },
+  { 0x00fd01, "3270_Duplicate" },
+  { 0x00fd02, "3270_FieldMark" },
+  { 0x00fd03, "3270_Right2" },
+  { 0x00fd04, "3270_Left2" },
+  { 0x00fd05, "3270_BackTab" },
+  { 0x00fd06, "3270_EraseEOF" },
+  { 0x00fd07, "3270_EraseInput" },
+  { 0x00fd08, "3270_Reset" },
+  { 0x00fd09, "3270_Quit" },
+  { 0x00fd0a, "3270_PA1" },
+  { 0x00fd0b, "3270_PA2" },
+  { 0x00fd0c, "3270_PA3" },
+  { 0x00fd0d, "3270_Test" },
+  { 0x00fd0e, "3270_Attn" },
+  { 0x00fd0f, "3270_CursorBlink" },
+  { 0x00fd10, "3270_AltCursor" },
+  { 0x00fd11, "3270_KeyClick" },
+  { 0x00fd12, "3270_Jump" },
+  { 0x00fd13, "3270_Ident" },
+  { 0x00fd14, "3270_Rule" },
+  { 0x00fd15, "3270_Copy" },
+  { 0x00fd16, "3270_Play" },
+  { 0x00fd17, "3270_Setup" },
+  { 0x00fd18, "3270_Record" },
+  { 0x00fd19, "3270_ChangeScreen" },
+  { 0x00fd1a, "3270_DeleteWord" },
+  { 0x00fd1b, "3270_ExSelect" },
+  { 0x00fd1c, "3270_CursorSelect" },
+  { 0x00fd1d, "3270_PrintScreen" },
+  { 0x00fd1e, "3270_Enter" },
+  { 0x00fe01, "ISO_Lock" },
+  { 0x00fe02, "ISO_Level2_Latch" },
+  { 0x00fe03, "ISO_Level3_Shift" },
+  { 0x00fe04, "ISO_Level3_Latch" },
+  { 0x00fe05, "ISO_Level3_Lock" },
+  { 0x00fe06, "ISO_Group_Latch" },
+  { 0x00fe07, "ISO_Group_Lock" },
+  { 0x00fe08, "ISO_Next_Group" },
+  { 0x00fe09, "ISO_Next_Group_Lock" },
+  { 0x00fe0a, "ISO_Prev_Group" },
+  { 0x00fe0b, "ISO_Prev_Group_Lock" },
+  { 0x00fe0c, "ISO_First_Group" },
+  { 0x00fe0d, "ISO_First_Group_Lock" },
+  { 0x00fe0e, "ISO_Last_Group" },
+  { 0x00fe0f, "ISO_Last_Group_Lock" },
+  { 0x00fe20, "ISO_Left_Tab" },
+  { 0x00fe21, "ISO_Move_Line_Up" },
+  { 0x00fe22, "ISO_Move_Line_Down" },
+  { 0x00fe23, "ISO_Partial_Line_Up" },
+  { 0x00fe24, "ISO_Partial_Line_Down" },
+  { 0x00fe25, "ISO_Partial_Space_Left" },
+  { 0x00fe26, "ISO_Partial_Space_Right" },
+  { 0x00fe27, "ISO_Set_Margin_Left" },
+  { 0x00fe28, "ISO_Set_Margin_Right" },
+  { 0x00fe29, "ISO_Release_Margin_Left" },
+  { 0x00fe2a, "ISO_Release_Margin_Right" },
+  { 0x00fe2b, "ISO_Release_Both_Margins" },
+  { 0x00fe2c, "ISO_Fast_Cursor_Left" },
+  { 0x00fe2d, "ISO_Fast_Cursor_Right" },
+  { 0x00fe2e, "ISO_Fast_Cursor_Up" },
+  { 0x00fe2f, "ISO_Fast_Cursor_Down" },
+  { 0x00fe30, "ISO_Continuous_Underline" },
+  { 0x00fe31, "ISO_Discontinuous_Underline" },
+  { 0x00fe32, "ISO_Emphasize" },
+  { 0x00fe33, "ISO_Center_Object" },
+  { 0x00fe34, "ISO_Enter" },
+  { 0x00fe50, "dead_grave" },
+  { 0x00fe51, "dead_acute" },
+  { 0x00fe52, "dead_circumflex" },
+  { 0x00fe53, "dead_tilde" },
+  { 0x00fe54, "dead_macron" },
+  { 0x00fe55, "dead_breve" },
+  { 0x00fe56, "dead_abovedot" },
+  { 0x00fe57, "dead_diaeresis" },
+  { 0x00fe58, "dead_abovering" },
+  { 0x00fe59, "dead_doubleacute" },
+  { 0x00fe5a, "dead_caron" },
+  { 0x00fe5b, "dead_cedilla" },
+  { 0x00fe5c, "dead_ogonek" },
+  { 0x00fe5d, "dead_iota" },
+  { 0x00fe5e, "dead_voiced_sound" },
+  { 0x00fe5f, "dead_semivoiced_sound" },
+  { 0x00fe60, "dead_belowdot" },
+  { 0x00fe70, "AccessX_Enable" },
+  { 0x00fe71, "AccessX_Feedback_Enable" },
+  { 0x00fe72, "RepeatKeys_Enable" },
+  { 0x00fe73, "SlowKeys_Enable" },
+  { 0x00fe74, "BounceKeys_Enable" },
+  { 0x00fe75, "StickyKeys_Enable" },
+  { 0x00fe76, "MouseKeys_Enable" },
+  { 0x00fe77, "MouseKeys_Accel_Enable" },
+  { 0x00fe78, "Overlay1_Enable" },
+  { 0x00fe79, "Overlay2_Enable" },
+  { 0x00fe7a, "AudibleBell_Enable" },
+  { 0x00fed0, "First_Virtual_Screen" },
+  { 0x00fed1, "Prev_Virtual_Screen" },
+  { 0x00fed2, "Next_Virtual_Screen" },
+  { 0x00fed4, "Last_Virtual_Screen" },
+  { 0x00fed5, "Terminate_Server" },
+  { 0x00fee0, "Pointer_Left" },
+  { 0x00fee1, "Pointer_Right" },
+  { 0x00fee2, "Pointer_Up" },
+  { 0x00fee3, "Pointer_Down" },
+  { 0x00fee4, "Pointer_UpLeft" },
+  { 0x00fee5, "Pointer_UpRight" },
+  { 0x00fee6, "Pointer_DownLeft" },
+  { 0x00fee7, "Pointer_DownRight" },
+  { 0x00fee8, "Pointer_Button_Dflt" },
+  { 0x00fee9, "Pointer_Button1" },
+  { 0x00feea, "Pointer_Button2" },
+  { 0x00feeb, "Pointer_Button3" },
+  { 0x00feec, "Pointer_Button4" },
+  { 0x00feed, "Pointer_Button5" },
+  { 0x00feee, "Pointer_DblClick_Dflt" },
+  { 0x00feef, "Pointer_DblClick1" },
+  { 0x00fef0, "Pointer_DblClick2" },
+  { 0x00fef1, "Pointer_DblClick3" },
+  { 0x00fef2, "Pointer_DblClick4" },
+  { 0x00fef3, "Pointer_DblClick5" },
+  { 0x00fef4, "Pointer_Drag_Dflt" },
+  { 0x00fef5, "Pointer_Drag1" },
+  { 0x00fef6, "Pointer_Drag2" },
+  { 0x00fef7, "Pointer_Drag3" },
+  { 0x00fef8, "Pointer_Drag4" },
+  { 0x00fef9, "Pointer_EnableKeys" },
+  { 0x00fefa, "Pointer_Accelerate" },
+  { 0x00fefb, "Pointer_DfltBtnNext" },
+  { 0x00fefc, "Pointer_DfltBtnPrev" },
+  { 0x00fefd, "Pointer_Drag5" },
+  { 0x00ff08, "BackSpace" },
+  { 0x00ff09, "Tab" },
+  { 0x00ff0a, "Linefeed" },
+  { 0x00ff0b, "Clear" },
+  { 0x00ff0d, "Return" },
+  { 0x00ff13, "Pause" },
+  { 0x00ff14, "Scroll_Lock" },
+  { 0x00ff15, "Sys_Req" },
+  { 0x00ff1b, "Escape" },
+  { 0x00ff20, "Multi_key" },
+  { 0x00ff21, "Kanji" },
+  { 0x00ff22, "Muhenkan" },
+  { 0x00ff23, "Henkan" },
+  { 0x00ff23, "Henkan_Mode" },
+  { 0x00ff24, "Romaji" },
+  { 0x00ff25, "Hiragana" },
+  { 0x00ff26, "Katakana" },
+  { 0x00ff27, "Hiragana_Katakana" },
+  { 0x00ff28, "Zenkaku" },
+  { 0x00ff29, "Hankaku" },
+  { 0x00ff2a, "Zenkaku_Hankaku" },
+  { 0x00ff2b, "Touroku" },
+  { 0x00ff2c, "Massyo" },
+  { 0x00ff2d, "Kana_Lock" },
+  { 0x00ff2e, "Kana_Shift" },
+  { 0x00ff2f, "Eisu_Shift" },
+  { 0x00ff30, "Eisu_toggle" },
+  { 0x00ff3c, "SingleCandidate" },
+  { 0x00ff3d, "MultipleCandidate" },
+  { 0x00ff3d, "Zen_Koho" },
+  { 0x00ff3e, "Mae_Koho" },
+  { 0x00ff3e, "PreviousCandidate" },
+  { 0x00ff50, "Home" },
+  { 0x00ff51, "Left" },
+  { 0x00ff52, "Up" },
+  { 0x00ff53, "Right" },
+  { 0x00ff54, "Down" },
+  { 0x00ff55, "Page_Up" },
+  { 0x00ff55, "Prior" },
+  { 0x00ff56, "Next" },
+  { 0x00ff56, "Page_Down" },
+  { 0x00ff57, "End" },
+  { 0x00ff58, "Begin" },
+  { 0x00ff60, "Select" },
+  { 0x00ff61, "Print" },
+  { 0x00ff62, "Execute" },
+  { 0x00ff63, "Insert" },
+  { 0x00ff65, "Undo" },
+  { 0x00ff66, "Redo" },
+  { 0x00ff67, "Menu" },
+  { 0x00ff68, "Find" },
+  { 0x00ff69, "Cancel" },
+  { 0x00ff6a, "Help" },
+  { 0x00ff6b, "Break" },
+  { 0x00ff7e, "Arabic_switch" },
+  { 0x00ff7e, "Greek_switch" },
+  { 0x00ff7e, "Hangul_switch" },
+  { 0x00ff7e, "Hebrew_switch" },
+  { 0x00ff7e, "ISO_Group_Shift" },
+  { 0x00ff7e, "Mode_switch" },
+  { 0x00ff7e, "kana_switch" },
+  { 0x00ff7e, "script_switch" },
+  { 0x00ff7f, "Num_Lock" },
+  { 0x00ff80, "KP_Space" },
+  { 0x00ff89, "KP_Tab" },
+  { 0x00ff8d, "KP_Enter" },
+  { 0x00ff91, "KP_F1" },
+  { 0x00ff92, "KP_F2" },
+  { 0x00ff93, "KP_F3" },
+  { 0x00ff94, "KP_F4" },
+  { 0x00ff95, "KP_Home" },
+  { 0x00ff96, "KP_Left" },
+  { 0x00ff97, "KP_Up" },
+  { 0x00ff98, "KP_Right" },
+  { 0x00ff99, "KP_Down" },
+  { 0x00ff9a, "KP_Page_Up" },
+  { 0x00ff9a, "KP_Prior" },
+  { 0x00ff9b, "KP_Next" },
+  { 0x00ff9b, "KP_Page_Down" },
+  { 0x00ff9c, "KP_End" },
+  { 0x00ff9d, "KP_Begin" },
+  { 0x00ff9e, "KP_Insert" },
+  { 0x00ff9f, "KP_Delete" },
+  { 0x00ffaa, "KP_Multiply" },
+  { 0x00ffab, "KP_Add" },
+  { 0x00ffac, "KP_Separator" },
+  { 0x00ffad, "KP_Subtract" },
+  { 0x00ffae, "KP_Decimal" },
+  { 0x00ffaf, "KP_Divide" },
+  { 0x00ffb0, "KP_0" },
+  { 0x00ffb1, "KP_1" },
+  { 0x00ffb2, "KP_2" },
+  { 0x00ffb3, "KP_3" },
+  { 0x00ffb4, "KP_4" },
+  { 0x00ffb5, "KP_5" },
+  { 0x00ffb6, "KP_6" },
+  { 0x00ffb7, "KP_7" },
+  { 0x00ffb8, "KP_8" },
+  { 0x00ffb9, "KP_9" },
+  { 0x00ffbd, "KP_Equal" },
+  { 0x00ffbe, "F1" },
+  { 0x00ffbf, "F2" },
+  { 0x00ffc0, "F3" },
+  { 0x00ffc1, "F4" },
+  { 0x00ffc2, "F5" },
+  { 0x00ffc3, "F6" },
+  { 0x00ffc4, "F7" },
+  { 0x00ffc5, "F8" },
+  { 0x00ffc6, "F9" },
+  { 0x00ffc7, "F10" },
+  { 0x00ffc8, "F11" },
+  { 0x00ffc9, "F12" },
+  { 0x00ffca, "F13" },
+  { 0x00ffcb, "F14" },
+  { 0x00ffcc, "F15" },
+  { 0x00ffcd, "F16" },
+  { 0x00ffce, "F17" },
+  { 0x00ffcf, "F18" },
+  { 0x00ffd0, "F19" },
+  { 0x00ffd1, "F20" },
+  { 0x00ffd2, "F21" },
+  { 0x00ffd3, "F22" },
+  { 0x00ffd4, "F23" },
+  { 0x00ffd5, "F24" },
+  { 0x00ffd6, "F25" },
+  { 0x00ffd7, "F26" },
+  { 0x00ffd8, "F27" },
+  { 0x00ffd9, "F28" },
+  { 0x00ffda, "F29" },
+  { 0x00ffdb, "F30" },
+  { 0x00ffdc, "F31" },
+  { 0x00ffdd, "F32" },
+  { 0x00ffde, "F33" },
+  { 0x00ffdf, "F34" },
+  { 0x00ffe0, "F35" },
+  { 0x00ffe1, "Shift_L" },
+  { 0x00ffe2, "Shift_R" },
+  { 0x00ffe3, "Control_L" },
+  { 0x00ffe4, "Control_R" },
+  { 0x00ffe5, "Caps_Lock" },
+  { 0x00ffe6, "Shift_Lock" },
+  { 0x00ffe7, "Meta_L" },
+  { 0x00ffe8, "Meta_R" },
+  { 0x00ffe9, "Alt_L" },
+  { 0x00ffea, "Alt_R" },
+  { 0x00ffeb, "Super_L" },
+  { 0x00ffec, "Super_R" },
+  { 0x00ffed, "Hyper_L" },
+  { 0x00ffee, "Hyper_R" },
+  { 0x00ffff, "Delete" },
   { 0x00ff31, "Hangul" },
   { 0x00ff32, "Hangul_Start" },
   { 0x00ff33, "Hangul_End" },
@@ -2102,7 +2077,7 @@ static struct gdk_key {
   { 0x00ff3d, "Hangul_MultipleCandidate" },
   { 0x00ff3e, "Hangul_PreviousCandidate" },
   { 0x00ff3f, "Hangul_Special" },
-  { 0xFFFFFF, "VoidSymbol" },
+  { 0xffffff, "VoidSymbol" },
 };
 
 #define GDK_NUM_KEYS (sizeof (gdk_keys_by_keyval) / sizeof (gdk_keys_by_keyval[0]))
index 700bdb5db3aac88ad90f3fac68f0d621a8d0f4e4..ca867941e5148eac70e9a43bcd1f061c25503e8b 100644 (file)
@@ -43,8 +43,6 @@ gdk_draw_point (GdkDrawable *drawable,
   GdkWindowPrivate *drawable_private;
   GdkGCPrivate *gc_private;
   HDC hdc;
-  HBRUSH hbr;
-  RECT rect;
 
   g_return_if_fail (drawable != NULL);
   g_return_if_fail (gc != NULL);
@@ -55,15 +53,14 @@ gdk_draw_point (GdkDrawable *drawable,
   gc_private = (GdkGCPrivate*) gc;
 
   hdc = gdk_gc_predraw (drawable_private, gc_private);
-  hbr = GetCurrentObject (hdc, OBJ_BRUSH);
-  /* We use FillRect because SetPixel wants the COLORREF directly,
-   * and doesn't use the current brush, which is what we want.
+
+  /* We use LineTo because SetPixel wants the COLORREF directly,
+   * and doesn't use the current pen, which is what we want.
    */
-  rect.left = x;
-  rect.top = y;
-  rect.right = rect.left + 1;
-  rect.bottom = rect.top + 1;
-  FillRect (hdc, &rect, hbr);
+  if (!MoveToEx (hdc, x, y, NULL))
+    g_warning ("gdk_draw_point: MoveToEx failed");
+  if (!LineTo (hdc, x + 1, y))
+    g_warning ("gdk_draw_point: LineTo failed");
   
   gdk_gc_postdraw (drawable_private, gc_private);
 }
@@ -119,9 +116,6 @@ gdk_draw_rectangle (GdkDrawable *drawable,
   GdkWindowPrivate *drawable_private;
   GdkGCPrivate *gc_private;
   HDC hdc;
-  LOGBRUSH lb;
-  HPEN hpen;
-  HBRUSH hbr;
   HGDIOBJ oldpen, oldbrush;
 
   g_return_if_fail (drawable != NULL);
@@ -528,7 +522,6 @@ gdk_draw_points (GdkDrawable *drawable,
   GdkWindowPrivate *drawable_private;
   GdkGCPrivate *gc_private;
   HDC hdc;
-  HBRUSH hbr;
   int i;
 
   g_return_if_fail (drawable != NULL);
@@ -541,18 +534,18 @@ gdk_draw_points (GdkDrawable *drawable,
   gc_private = (GdkGCPrivate*) gc;
 
   hdc = gdk_gc_predraw (drawable_private, gc_private);
-  hbr = GetCurrentObject (hdc, OBJ_BRUSH);
   
+  GDK_NOTE (MISC, g_print ("gdk_draw_points: %#x destdc: (%d) %#x "
+                          "npoints: %d\n",
+                          drawable_private->xwindow, gc_private, hdc,
+                          npoints));
+
   for (i = 0; i < npoints; i++)
     {
-      RECT rect;
-      
-      rect.left = points[i].x;
-      rect.top = points[i].y;
-      rect.right = rect.left + 1;
-      rect.bottom = rect.top + 1;
-      if (!FillRect (hdc, &rect, hbr))
-       g_warning ("gdk_draw_points: FillRect failed");
+      if (!MoveToEx (hdc, points[i].x, points[i].y, NULL))
+       g_warning ("gdk_draw_points: MoveToEx failed");
+      if (!LineTo (hdc, points[i].x + 1, points[i].y))
+       g_warning ("gdk_draw_points: LineTo failed");
     }
   gdk_gc_postdraw (drawable_private, gc_private);
 }
@@ -584,7 +577,8 @@ gdk_draw_segments (GdkDrawable *drawable,
 
   for (i = 0; i < nsegs; i++)
     {
-      MoveToEx (hdc, segs[i].x1, segs[i].y1, NULL);
+      if (!MoveToEx (hdc, segs[i].x1, segs[i].y1, NULL))
+       g_warning ("gdk_draw_segments: MoveToEx failed");
       if (!LineTo (hdc, segs[i].x2, segs[i].y2))
        g_warning ("gdk_draw_segments: LineTo #1 failed");
       
index 700bdb5db3aac88ad90f3fac68f0d621a8d0f4e4..ca867941e5148eac70e9a43bcd1f061c25503e8b 100644 (file)
@@ -43,8 +43,6 @@ gdk_draw_point (GdkDrawable *drawable,
   GdkWindowPrivate *drawable_private;
   GdkGCPrivate *gc_private;
   HDC hdc;
-  HBRUSH hbr;
-  RECT rect;
 
   g_return_if_fail (drawable != NULL);
   g_return_if_fail (gc != NULL);
@@ -55,15 +53,14 @@ gdk_draw_point (GdkDrawable *drawable,
   gc_private = (GdkGCPrivate*) gc;
 
   hdc = gdk_gc_predraw (drawable_private, gc_private);
-  hbr = GetCurrentObject (hdc, OBJ_BRUSH);
-  /* We use FillRect because SetPixel wants the COLORREF directly,
-   * and doesn't use the current brush, which is what we want.
+
+  /* We use LineTo because SetPixel wants the COLORREF directly,
+   * and doesn't use the current pen, which is what we want.
    */
-  rect.left = x;
-  rect.top = y;
-  rect.right = rect.left + 1;
-  rect.bottom = rect.top + 1;
-  FillRect (hdc, &rect, hbr);
+  if (!MoveToEx (hdc, x, y, NULL))
+    g_warning ("gdk_draw_point: MoveToEx failed");
+  if (!LineTo (hdc, x + 1, y))
+    g_warning ("gdk_draw_point: LineTo failed");
   
   gdk_gc_postdraw (drawable_private, gc_private);
 }
@@ -119,9 +116,6 @@ gdk_draw_rectangle (GdkDrawable *drawable,
   GdkWindowPrivate *drawable_private;
   GdkGCPrivate *gc_private;
   HDC hdc;
-  LOGBRUSH lb;
-  HPEN hpen;
-  HBRUSH hbr;
   HGDIOBJ oldpen, oldbrush;
 
   g_return_if_fail (drawable != NULL);
@@ -528,7 +522,6 @@ gdk_draw_points (GdkDrawable *drawable,
   GdkWindowPrivate *drawable_private;
   GdkGCPrivate *gc_private;
   HDC hdc;
-  HBRUSH hbr;
   int i;
 
   g_return_if_fail (drawable != NULL);
@@ -541,18 +534,18 @@ gdk_draw_points (GdkDrawable *drawable,
   gc_private = (GdkGCPrivate*) gc;
 
   hdc = gdk_gc_predraw (drawable_private, gc_private);
-  hbr = GetCurrentObject (hdc, OBJ_BRUSH);
   
+  GDK_NOTE (MISC, g_print ("gdk_draw_points: %#x destdc: (%d) %#x "
+                          "npoints: %d\n",
+                          drawable_private->xwindow, gc_private, hdc,
+                          npoints));
+
   for (i = 0; i < npoints; i++)
     {
-      RECT rect;
-      
-      rect.left = points[i].x;
-      rect.top = points[i].y;
-      rect.right = rect.left + 1;
-      rect.bottom = rect.top + 1;
-      if (!FillRect (hdc, &rect, hbr))
-       g_warning ("gdk_draw_points: FillRect failed");
+      if (!MoveToEx (hdc, points[i].x, points[i].y, NULL))
+       g_warning ("gdk_draw_points: MoveToEx failed");
+      if (!LineTo (hdc, points[i].x + 1, points[i].y))
+       g_warning ("gdk_draw_points: LineTo failed");
     }
   gdk_gc_postdraw (drawable_private, gc_private);
 }
@@ -584,7 +577,8 @@ gdk_draw_segments (GdkDrawable *drawable,
 
   for (i = 0; i < nsegs; i++)
     {
-      MoveToEx (hdc, segs[i].x1, segs[i].y1, NULL);
+      if (!MoveToEx (hdc, segs[i].x1, segs[i].y1, NULL))
+       g_warning ("gdk_draw_segments: MoveToEx failed");
       if (!LineTo (hdc, segs[i].x2, segs[i].y2))
        g_warning ("gdk_draw_segments: LineTo #1 failed");
       
index 6697090f7635c79d49d1b83a39810147a407d046..b6d56d1c0f4857149e50204dbb9adc1999efa654 100644 (file)
@@ -502,6 +502,8 @@ gdk_gc_set_function (GdkGC   *gc,
 
   private = (GdkGCPrivate*) gc;
 
+  GDK_NOTE (MISC, g_print ("gdk_gc_set_function: (%d) %d\n", private, function));
+
   switch (function)
     {
     case GDK_COPY:
@@ -888,7 +890,11 @@ gdk_gc_set_dashes (GdkGC *gc,
   g_return_if_fail (dash_list != NULL);
 
   /* XXX ??? */
-  g_warning ("gdk_gc_set_dashes: Not implemented");
+
+  private = (GdkGCPrivate *) gc;
+
+  private->pen_style &= ~(PS_STYLE_MASK);
+  private->pen_style |= PS_DASH;
 }
 
 void
index 6697090f7635c79d49d1b83a39810147a407d046..b6d56d1c0f4857149e50204dbb9adc1999efa654 100644 (file)
@@ -502,6 +502,8 @@ gdk_gc_set_function (GdkGC   *gc,
 
   private = (GdkGCPrivate*) gc;
 
+  GDK_NOTE (MISC, g_print ("gdk_gc_set_function: (%d) %d\n", private, function));
+
   switch (function)
     {
     case GDK_COPY:
@@ -888,7 +890,11 @@ gdk_gc_set_dashes (GdkGC *gc,
   g_return_if_fail (dash_list != NULL);
 
   /* XXX ??? */
-  g_warning ("gdk_gc_set_dashes: Not implemented");
+
+  private = (GdkGCPrivate *) gc;
+
+  private->pen_style &= ~(PS_STYLE_MASK);
+  private->pen_style |= PS_DASH;
 }
 
 void
index 37196091608ea5f12282ad9d2dc462cc68787703..60cc313203649f6c141b425d790c9cf354f0d9c9 100644 (file)
@@ -424,7 +424,25 @@ gdk_image_get (GdkWindow *window,
   bmi.bmiHeader.biHeight = -height;
   bmi.bmiHeader.biPlanes = 1;
   bmi.bmiHeader.biBitCount = image->depth;
-  bmi.bmiHeader.biCompression = BI_RGB;
+  if (image->depth == 16)
+    {
+      bmi.bmiHeader.biCompression = BI_BITFIELDS;
+      if (image->visual == NULL)
+       {
+         /* XXX ??? Is it always this if depth==16 and a pixmap? Guess so. */
+         bmi.u.bmiMasks[0] = 0xf800;
+         bmi.u.bmiMasks[1] = 0x07e0;
+         bmi.u.bmiMasks[2] = 0x001f;
+       }
+      else
+       {
+         bmi.u.bmiMasks[0] = image->visual->red_mask;
+         bmi.u.bmiMasks[1] = image->visual->green_mask;
+         bmi.u.bmiMasks[2] = image->visual->blue_mask;
+       }
+    }
+  else
+    bmi.bmiHeader.biCompression = BI_RGB;
   bmi.bmiHeader.biSizeImage = 0;
   bmi.bmiHeader.biXPelsPerMeter =
     bmi.bmiHeader.biYPelsPerMeter = 0;
index 37196091608ea5f12282ad9d2dc462cc68787703..60cc313203649f6c141b425d790c9cf354f0d9c9 100644 (file)
@@ -424,7 +424,25 @@ gdk_image_get (GdkWindow *window,
   bmi.bmiHeader.biHeight = -height;
   bmi.bmiHeader.biPlanes = 1;
   bmi.bmiHeader.biBitCount = image->depth;
-  bmi.bmiHeader.biCompression = BI_RGB;
+  if (image->depth == 16)
+    {
+      bmi.bmiHeader.biCompression = BI_BITFIELDS;
+      if (image->visual == NULL)
+       {
+         /* XXX ??? Is it always this if depth==16 and a pixmap? Guess so. */
+         bmi.u.bmiMasks[0] = 0xf800;
+         bmi.u.bmiMasks[1] = 0x07e0;
+         bmi.u.bmiMasks[2] = 0x001f;
+       }
+      else
+       {
+         bmi.u.bmiMasks[0] = image->visual->red_mask;
+         bmi.u.bmiMasks[1] = image->visual->green_mask;
+         bmi.u.bmiMasks[2] = image->visual->blue_mask;
+       }
+    }
+  else
+    bmi.bmiHeader.biCompression = BI_RGB;
   bmi.bmiHeader.biSizeImage = 0;
   bmi.bmiHeader.biXPelsPerMeter =
     bmi.bmiHeader.biYPelsPerMeter = 0;
index fcd3c109f73b83a13bed040e9ed4e1ec3df2b328..b80bd3aafa91b0ada6fc7216cc6d8889ad1f78bf 100644 (file)
@@ -1157,6 +1157,13 @@ gdk_input_win32_grab_pointer (GdkWindow    *window,
   new_window = NULL;
   need_ungrab = FALSE;
 
+  GDK_NOTE (MISC, g_print ("gdk_input_win32_grab_pointer: %#x %d %#x\n",
+                          ((GdkWindowPrivate *) window)->xwindow,
+                          owner_events,
+                          (confine_to ?
+                           ((GdkWindowPrivate *) confine_to)->xwindow :
+                           0)));
+
   while (tmp_list)
     {
       input_window = (GdkInputWindow *)tmp_list->data;
@@ -1230,6 +1237,8 @@ gdk_input_win32_ungrab_pointer (guint32 time)
   GdkDevicePrivate *gdkdev;
   GList *tmp_list;
 
+  GDK_NOTE (MISC, g_print ("gdk_input_win32_ungrab_pointer\n"));
+
   tmp_list = gdk_input_windows;
   while (tmp_list)
     {
index fcd3c109f73b83a13bed040e9ed4e1ec3df2b328..b80bd3aafa91b0ada6fc7216cc6d8889ad1f78bf 100644 (file)
@@ -1157,6 +1157,13 @@ gdk_input_win32_grab_pointer (GdkWindow    *window,
   new_window = NULL;
   need_ungrab = FALSE;
 
+  GDK_NOTE (MISC, g_print ("gdk_input_win32_grab_pointer: %#x %d %#x\n",
+                          ((GdkWindowPrivate *) window)->xwindow,
+                          owner_events,
+                          (confine_to ?
+                           ((GdkWindowPrivate *) confine_to)->xwindow :
+                           0)));
+
   while (tmp_list)
     {
       input_window = (GdkInputWindow *)tmp_list->data;
@@ -1230,6 +1237,8 @@ gdk_input_win32_ungrab_pointer (guint32 time)
   GdkDevicePrivate *gdkdev;
   GList *tmp_list;
 
+  GDK_NOTE (MISC, g_print ("gdk_input_win32_ungrab_pointer\n"));
+
   tmp_list = gdk_input_windows;
   while (tmp_list)
     {
index 0586516e2562039b59ece1a1f797b516e765c2d9..49671a79c40c0b3f4f31bc0fb228aa24ecc507be 100644 (file)
@@ -214,7 +214,7 @@ gdk_init_check (int    *argc,
            else if (strcmp ("--gdk-no-wintab", (*argv)[i]) == 0
                     || strcmp ("--gdk-ignore-wintab", (*argv)[i]) == 0)
              {
-               (*argv)[i++] = NULL;
+               (*argv)[i] = NULL;
                gdk_input_ignore_wintab = TRUE;
              }
          i += 1;
@@ -1783,310 +1783,285 @@ static struct gdk_key {
   { 0x000ef9, "Hangul_J_KkogjiDalrinIeung" },
   { 0x000efa, "Hangul_J_YeorinHieuh" },
   { 0x000eff, "Korean_Won" },
-  { 0x00FD01, "3270_Duplicate" },
-  { 0x00FD02, "3270_FieldMark" },
-  { 0x00FD03, "3270_Right2" },
-  { 0x00FD04, "3270_Left2" },
-  { 0x00FD05, "3270_BackTab" },
-  { 0x00FD06, "3270_EraseEOF" },
-  { 0x00FD07, "3270_EraseInput" },
-  { 0x00FD08, "3270_Reset" },
-  { 0x00FD09, "3270_Quit" },
-  { 0x00FD0A, "3270_PA1" },
-  { 0x00FD0B, "3270_PA2" },
-  { 0x00FD0C, "3270_PA3" },
-  { 0x00FD0D, "3270_Test" },
-  { 0x00FD0E, "3270_Attn" },
-  { 0x00FD0F, "3270_CursorBlink" },
-  { 0x00FD10, "3270_AltCursor" },
-  { 0x00FD11, "3270_KeyClick" },
-  { 0x00FD12, "3270_Jump" },
-  { 0x00FD13, "3270_Ident" },
-  { 0x00FD14, "3270_Rule" },
-  { 0x00FD15, "3270_Copy" },
-  { 0x00FD16, "3270_Play" },
-  { 0x00FD17, "3270_Setup" },
-  { 0x00FD18, "3270_Record" },
-  { 0x00FD19, "3270_ChangeScreen" },
-  { 0x00FD1A, "3270_DeleteWord" },
-  { 0x00FD1B, "3270_ExSelect" },
-  { 0x00FD1C, "3270_CursorSelect" },
-  { 0x00FD1D, "3270_PrintScreen" },
-  { 0x00FD1E, "3270_Enter" },
-  { 0x00FE01, "ISO_Lock" },
-  { 0x00FE02, "ISO_Level2_Latch" },
-  { 0x00FE03, "ISO_Level3_Shift" },
-  { 0x00FE04, "ISO_Level3_Latch" },
-  { 0x00FE05, "ISO_Level3_Lock" },
-  { 0x00FE06, "ISO_Group_Latch" },
-  { 0x00FE07, "ISO_Group_Lock" },
-  { 0x00FE08, "ISO_Next_Group" },
-  { 0x00FE09, "ISO_Next_Group_Lock" },
-  { 0x00FE0A, "ISO_Prev_Group" },
-  { 0x00FE0B, "ISO_Prev_Group_Lock" },
-  { 0x00FE0C, "ISO_First_Group" },
-  { 0x00FE0D, "ISO_First_Group_Lock" },
-  { 0x00FE0E, "ISO_Last_Group" },
-  { 0x00FE0F, "ISO_Last_Group_Lock" },
-  { 0x00FE20, "ISO_Left_Tab" },
-  { 0x00FE21, "ISO_Move_Line_Up" },
-  { 0x00FE22, "ISO_Move_Line_Down" },
-  { 0x00FE23, "ISO_Partial_Line_Up" },
-  { 0x00FE24, "ISO_Partial_Line_Down" },
-  { 0x00FE25, "ISO_Partial_Space_Left" },
-  { 0x00FE26, "ISO_Partial_Space_Right" },
-  { 0x00FE27, "ISO_Set_Margin_Left" },
-  { 0x00FE28, "ISO_Set_Margin_Right" },
-  { 0x00FE29, "ISO_Release_Margin_Left" },
-  { 0x00FE2A, "ISO_Release_Margin_Right" },
-  { 0x00FE2B, "ISO_Release_Both_Margins" },
-  { 0x00FE2C, "ISO_Fast_Cursor_Left" },
-  { 0x00FE2D, "ISO_Fast_Cursor_Right" },
-  { 0x00FE2E, "ISO_Fast_Cursor_Up" },
-  { 0x00FE2F, "ISO_Fast_Cursor_Down" },
-  { 0x00FE30, "ISO_Continuous_Underline" },
-  { 0x00FE31, "ISO_Discontinuous_Underline" },
-  { 0x00FE32, "ISO_Emphasize" },
-  { 0x00FE33, "ISO_Center_Object" },
-  { 0x00FE34, "ISO_Enter" },
-  { 0x00FE50, "dead_grave" },
-  { 0x00FE51, "dead_acute" },
-  { 0x00FE52, "dead_circumflex" },
-  { 0x00FE53, "dead_tilde" },
-  { 0x00FE54, "dead_macron" },
-  { 0x00FE55, "dead_breve" },
-  { 0x00FE56, "dead_abovedot" },
-  { 0x00FE57, "dead_diaeresis" },
-  { 0x00FE58, "dead_abovering" },
-  { 0x00FE59, "dead_doubleacute" },
-  { 0x00FE5A, "dead_caron" },
-  { 0x00FE5B, "dead_cedilla" },
-  { 0x00FE5C, "dead_ogonek" },
-  { 0x00FE5D, "dead_iota" },
-  { 0x00FE5E, "dead_voiced_sound" },
-  { 0x00FE5F, "dead_semivoiced_sound" },
-  { 0x00FE60, "dead_belowdot" },
-  { 0x00FE70, "AccessX_Enable" },
-  { 0x00FE71, "AccessX_Feedback_Enable" },
-  { 0x00FE72, "RepeatKeys_Enable" },
-  { 0x00FE73, "SlowKeys_Enable" },
-  { 0x00FE74, "BounceKeys_Enable" },
-  { 0x00FE75, "StickyKeys_Enable" },
-  { 0x00FE76, "MouseKeys_Enable" },
-  { 0x00FE77, "MouseKeys_Accel_Enable" },
-  { 0x00FE78, "Overlay1_Enable" },
-  { 0x00FE79, "Overlay2_Enable" },
-  { 0x00FE7A, "AudibleBell_Enable" },
-  { 0x00FED0, "First_Virtual_Screen" },
-  { 0x00FED1, "Prev_Virtual_Screen" },
-  { 0x00FED2, "Next_Virtual_Screen" },
-  { 0x00FED4, "Last_Virtual_Screen" },
-  { 0x00FED5, "Terminate_Server" },
-  { 0x00FEE0, "Pointer_Left" },
-  { 0x00FEE1, "Pointer_Right" },
-  { 0x00FEE2, "Pointer_Up" },
-  { 0x00FEE3, "Pointer_Down" },
-  { 0x00FEE4, "Pointer_UpLeft" },
-  { 0x00FEE5, "Pointer_UpRight" },
-  { 0x00FEE6, "Pointer_DownLeft" },
-  { 0x00FEE7, "Pointer_DownRight" },
-  { 0x00FEE8, "Pointer_Button_Dflt" },
-  { 0x00FEE9, "Pointer_Button1" },
-  { 0x00FEEA, "Pointer_Button2" },
-  { 0x00FEEB, "Pointer_Button3" },
-  { 0x00FEEC, "Pointer_Button4" },
-  { 0x00FEED, "Pointer_Button5" },
-  { 0x00FEEE, "Pointer_DblClick_Dflt" },
-  { 0x00FEEF, "Pointer_DblClick1" },
-  { 0x00FEF0, "Pointer_DblClick2" },
-  { 0x00FEF1, "Pointer_DblClick3" },
-  { 0x00FEF2, "Pointer_DblClick4" },
-  { 0x00FEF3, "Pointer_DblClick5" },
-  { 0x00FEF4, "Pointer_Drag_Dflt" },
-  { 0x00FEF5, "Pointer_Drag1" },
-  { 0x00FEF6, "Pointer_Drag2" },
-  { 0x00FEF7, "Pointer_Drag3" },
-  { 0x00FEF8, "Pointer_Drag4" },
-  { 0x00FEF9, "Pointer_EnableKeys" },
-  { 0x00FEFA, "Pointer_Accelerate" },
-  { 0x00FEFB, "Pointer_DfltBtnNext" },
-  { 0x00FEFC, "Pointer_DfltBtnPrev" },
-  { 0x00FEFD, "Pointer_Drag5" },
-  { 0x00FF08, "BackSpace" },
-  { 0x00FF09, "Tab" },
-  { 0x00FF0A, "Linefeed" },
-  { 0x00FF0B, "Clear" },
-  { 0x00FF0D, "Return" },
-  { 0x00FF13, "Pause" },
-  { 0x00FF14, "Scroll_Lock" },
-  { 0x00FF15, "Sys_Req" },
-  { 0x00FF1B, "Escape" },
-  { 0x00FF20, "Multi_key" },
-  { 0x00FF21, "Kanji" },
-  { 0x00FF22, "Muhenkan" },
-  { 0x00FF23, "Henkan" },
-  { 0x00FF23, "Henkan_Mode" },
-  { 0x00FF24, "Romaji" },
-  { 0x00FF25, "Hiragana" },
-  { 0x00FF26, "Katakana" },
-  { 0x00FF27, "Hiragana_Katakana" },
-  { 0x00FF28, "Zenkaku" },
-  { 0x00FF29, "Hankaku" },
-  { 0x00FF2A, "Zenkaku_Hankaku" },
-  { 0x00FF2B, "Touroku" },
-  { 0x00FF2C, "Massyo" },
-  { 0x00FF2D, "Kana_Lock" },
-  { 0x00FF2E, "Kana_Shift" },
-  { 0x00FF2F, "Eisu_Shift" },
-  { 0x00FF30, "Eisu_toggle" },
-  { 0x00FF3C, "SingleCandidate" },
-  { 0x00FF3D, "MultipleCandidate" },
-  { 0x00FF3D, "Zen_Koho" },
-  { 0x00FF3E, "Mae_Koho" },
-  { 0x00FF3E, "PreviousCandidate" },
-  { 0x00FF50, "Home" },
-  { 0x00FF51, "Left" },
-  { 0x00FF52, "Up" },
-  { 0x00FF53, "Right" },
-  { 0x00FF54, "Down" },
-  { 0x00FF55, "Page_Up" },
-  { 0x00FF55, "Prior" },
-  { 0x00FF56, "Next" },
-  { 0x00FF56, "Page_Down" },
-  { 0x00FF57, "End" },
-  { 0x00FF58, "Begin" },
-  { 0x00FF60, "Select" },
-  { 0x00FF61, "Print" },
-  { 0x00FF62, "Execute" },
-  { 0x00FF63, "Insert" },
-  { 0x00FF65, "Undo" },
-  { 0x00FF66, "Redo" },
-  { 0x00FF67, "Menu" },
-  { 0x00FF68, "Find" },
-  { 0x00FF69, "Cancel" },
-  { 0x00FF6A, "Help" },
-  { 0x00FF6B, "Break" },
-  { 0x00FF7E, "Arabic_switch" },
-  { 0x00FF7E, "Greek_switch" },
-  { 0x00FF7E, "Hangul_switch" },
-  { 0x00FF7E, "Hebrew_switch" },
-  { 0x00FF7E, "ISO_Group_Shift" },
-  { 0x00FF7E, "Mode_switch" },
-  { 0x00FF7E, "kana_switch" },
-  { 0x00FF7E, "script_switch" },
-  { 0x00FF7F, "Num_Lock" },
-  { 0x00FF80, "KP_Space" },
-  { 0x00FF89, "KP_Tab" },
-  { 0x00FF8D, "KP_Enter" },
-  { 0x00FF91, "KP_F1" },
-  { 0x00FF92, "KP_F2" },
-  { 0x00FF93, "KP_F3" },
-  { 0x00FF94, "KP_F4" },
-  { 0x00FF95, "KP_Home" },
-  { 0x00FF96, "KP_Left" },
-  { 0x00FF97, "KP_Up" },
-  { 0x00FF98, "KP_Right" },
-  { 0x00FF99, "KP_Down" },
-  { 0x00FF9A, "KP_Page_Up" },
-  { 0x00FF9A, "KP_Prior" },
-  { 0x00FF9B, "KP_Next" },
-  { 0x00FF9B, "KP_Page_Down" },
-  { 0x00FF9C, "KP_End" },
-  { 0x00FF9D, "KP_Begin" },
-  { 0x00FF9E, "KP_Insert" },
-  { 0x00FF9F, "KP_Delete" },
-  { 0x00FFAA, "KP_Multiply" },
-  { 0x00FFAB, "KP_Add" },
-  { 0x00FFAC, "KP_Separator" },
-  { 0x00FFAD, "KP_Subtract" },
-  { 0x00FFAE, "KP_Decimal" },
-  { 0x00FFAF, "KP_Divide" },
-  { 0x00FFB0, "KP_0" },
-  { 0x00FFB1, "KP_1" },
-  { 0x00FFB2, "KP_2" },
-  { 0x00FFB3, "KP_3" },
-  { 0x00FFB4, "KP_4" },
-  { 0x00FFB5, "KP_5" },
-  { 0x00FFB6, "KP_6" },
-  { 0x00FFB7, "KP_7" },
-  { 0x00FFB8, "KP_8" },
-  { 0x00FFB9, "KP_9" },
-  { 0x00FFBD, "KP_Equal" },
-  { 0x00FFBE, "F1" },
-  { 0x00FFBF, "F2" },
-  { 0x00FFC0, "F3" },
-  { 0x00FFC1, "F4" },
-  { 0x00FFC2, "F5" },
-  { 0x00FFC3, "F6" },
-  { 0x00FFC4, "F7" },
-  { 0x00FFC5, "F8" },
-  { 0x00FFC6, "F9" },
-  { 0x00FFC7, "F10" },
-  { 0x00FFC8, "F11" },
-  { 0x00FFC8, "L1" },
-  { 0x00FFC9, "F12" },
-  { 0x00FFC9, "L2" },
-  { 0x00FFCA, "F13" },
-  { 0x00FFCA, "L3" },
-  { 0x00FFCB, "F14" },
-  { 0x00FFCB, "L4" },
-  { 0x00FFCC, "F15" },
-  { 0x00FFCC, "L5" },
-  { 0x00FFCD, "F16" },
-  { 0x00FFCD, "L6" },
-  { 0x00FFCE, "F17" },
-  { 0x00FFCE, "L7" },
-  { 0x00FFCF, "F18" },
-  { 0x00FFCF, "L8" },
-  { 0x00FFD0, "F19" },
-  { 0x00FFD0, "L9" },
-  { 0x00FFD1, "F20" },
-  { 0x00FFD1, "L10" },
-  { 0x00FFD2, "F21" },
-  { 0x00FFD2, "R1" },
-  { 0x00FFD3, "F22" },
-  { 0x00FFD3, "R2" },
-  { 0x00FFD4, "F23" },
-  { 0x00FFD4, "R3" },
-  { 0x00FFD5, "F24" },
-  { 0x00FFD5, "R4" },
-  { 0x00FFD6, "F25" },
-  { 0x00FFD6, "R5" },
-  { 0x00FFD7, "F26" },
-  { 0x00FFD7, "R6" },
-  { 0x00FFD8, "F27" },
-  { 0x00FFD8, "R7" },
-  { 0x00FFD9, "F28" },
-  { 0x00FFD9, "R8" },
-  { 0x00FFDA, "F29" },
-  { 0x00FFDA, "R9" },
-  { 0x00FFDB, "F30" },
-  { 0x00FFDB, "R10" },
-  { 0x00FFDC, "F31" },
-  { 0x00FFDC, "R11" },
-  { 0x00FFDD, "F32" },
-  { 0x00FFDD, "R12" },
-  { 0x00FFDE, "F33" },
-  { 0x00FFDE, "R13" },
-  { 0x00FFDF, "F34" },
-  { 0x00FFDF, "R14" },
-  { 0x00FFE0, "F35" },
-  { 0x00FFE0, "R15" },
-  { 0x00FFE1, "Shift_L" },
-  { 0x00FFE2, "Shift_R" },
-  { 0x00FFE3, "Control_L" },
-  { 0x00FFE4, "Control_R" },
-  { 0x00FFE5, "Caps_Lock" },
-  { 0x00FFE6, "Shift_Lock" },
-  { 0x00FFE7, "Meta_L" },
-  { 0x00FFE8, "Meta_R" },
-  { 0x00FFE9, "Alt_L" },
-  { 0x00FFEA, "Alt_R" },
-  { 0x00FFEB, "Super_L" },
-  { 0x00FFEC, "Super_R" },
-  { 0x00FFED, "Hyper_L" },
-  { 0x00FFEE, "Hyper_R" },
-  { 0x00FFFF, "Delete" },
+  { 0x00fd01, "3270_Duplicate" },
+  { 0x00fd02, "3270_FieldMark" },
+  { 0x00fd03, "3270_Right2" },
+  { 0x00fd04, "3270_Left2" },
+  { 0x00fd05, "3270_BackTab" },
+  { 0x00fd06, "3270_EraseEOF" },
+  { 0x00fd07, "3270_EraseInput" },
+  { 0x00fd08, "3270_Reset" },
+  { 0x00fd09, "3270_Quit" },
+  { 0x00fd0a, "3270_PA1" },
+  { 0x00fd0b, "3270_PA2" },
+  { 0x00fd0c, "3270_PA3" },
+  { 0x00fd0d, "3270_Test" },
+  { 0x00fd0e, "3270_Attn" },
+  { 0x00fd0f, "3270_CursorBlink" },
+  { 0x00fd10, "3270_AltCursor" },
+  { 0x00fd11, "3270_KeyClick" },
+  { 0x00fd12, "3270_Jump" },
+  { 0x00fd13, "3270_Ident" },
+  { 0x00fd14, "3270_Rule" },
+  { 0x00fd15, "3270_Copy" },
+  { 0x00fd16, "3270_Play" },
+  { 0x00fd17, "3270_Setup" },
+  { 0x00fd18, "3270_Record" },
+  { 0x00fd19, "3270_ChangeScreen" },
+  { 0x00fd1a, "3270_DeleteWord" },
+  { 0x00fd1b, "3270_ExSelect" },
+  { 0x00fd1c, "3270_CursorSelect" },
+  { 0x00fd1d, "3270_PrintScreen" },
+  { 0x00fd1e, "3270_Enter" },
+  { 0x00fe01, "ISO_Lock" },
+  { 0x00fe02, "ISO_Level2_Latch" },
+  { 0x00fe03, "ISO_Level3_Shift" },
+  { 0x00fe04, "ISO_Level3_Latch" },
+  { 0x00fe05, "ISO_Level3_Lock" },
+  { 0x00fe06, "ISO_Group_Latch" },
+  { 0x00fe07, "ISO_Group_Lock" },
+  { 0x00fe08, "ISO_Next_Group" },
+  { 0x00fe09, "ISO_Next_Group_Lock" },
+  { 0x00fe0a, "ISO_Prev_Group" },
+  { 0x00fe0b, "ISO_Prev_Group_Lock" },
+  { 0x00fe0c, "ISO_First_Group" },
+  { 0x00fe0d, "ISO_First_Group_Lock" },
+  { 0x00fe0e, "ISO_Last_Group" },
+  { 0x00fe0f, "ISO_Last_Group_Lock" },
+  { 0x00fe20, "ISO_Left_Tab" },
+  { 0x00fe21, "ISO_Move_Line_Up" },
+  { 0x00fe22, "ISO_Move_Line_Down" },
+  { 0x00fe23, "ISO_Partial_Line_Up" },
+  { 0x00fe24, "ISO_Partial_Line_Down" },
+  { 0x00fe25, "ISO_Partial_Space_Left" },
+  { 0x00fe26, "ISO_Partial_Space_Right" },
+  { 0x00fe27, "ISO_Set_Margin_Left" },
+  { 0x00fe28, "ISO_Set_Margin_Right" },
+  { 0x00fe29, "ISO_Release_Margin_Left" },
+  { 0x00fe2a, "ISO_Release_Margin_Right" },
+  { 0x00fe2b, "ISO_Release_Both_Margins" },
+  { 0x00fe2c, "ISO_Fast_Cursor_Left" },
+  { 0x00fe2d, "ISO_Fast_Cursor_Right" },
+  { 0x00fe2e, "ISO_Fast_Cursor_Up" },
+  { 0x00fe2f, "ISO_Fast_Cursor_Down" },
+  { 0x00fe30, "ISO_Continuous_Underline" },
+  { 0x00fe31, "ISO_Discontinuous_Underline" },
+  { 0x00fe32, "ISO_Emphasize" },
+  { 0x00fe33, "ISO_Center_Object" },
+  { 0x00fe34, "ISO_Enter" },
+  { 0x00fe50, "dead_grave" },
+  { 0x00fe51, "dead_acute" },
+  { 0x00fe52, "dead_circumflex" },
+  { 0x00fe53, "dead_tilde" },
+  { 0x00fe54, "dead_macron" },
+  { 0x00fe55, "dead_breve" },
+  { 0x00fe56, "dead_abovedot" },
+  { 0x00fe57, "dead_diaeresis" },
+  { 0x00fe58, "dead_abovering" },
+  { 0x00fe59, "dead_doubleacute" },
+  { 0x00fe5a, "dead_caron" },
+  { 0x00fe5b, "dead_cedilla" },
+  { 0x00fe5c, "dead_ogonek" },
+  { 0x00fe5d, "dead_iota" },
+  { 0x00fe5e, "dead_voiced_sound" },
+  { 0x00fe5f, "dead_semivoiced_sound" },
+  { 0x00fe60, "dead_belowdot" },
+  { 0x00fe70, "AccessX_Enable" },
+  { 0x00fe71, "AccessX_Feedback_Enable" },
+  { 0x00fe72, "RepeatKeys_Enable" },
+  { 0x00fe73, "SlowKeys_Enable" },
+  { 0x00fe74, "BounceKeys_Enable" },
+  { 0x00fe75, "StickyKeys_Enable" },
+  { 0x00fe76, "MouseKeys_Enable" },
+  { 0x00fe77, "MouseKeys_Accel_Enable" },
+  { 0x00fe78, "Overlay1_Enable" },
+  { 0x00fe79, "Overlay2_Enable" },
+  { 0x00fe7a, "AudibleBell_Enable" },
+  { 0x00fed0, "First_Virtual_Screen" },
+  { 0x00fed1, "Prev_Virtual_Screen" },
+  { 0x00fed2, "Next_Virtual_Screen" },
+  { 0x00fed4, "Last_Virtual_Screen" },
+  { 0x00fed5, "Terminate_Server" },
+  { 0x00fee0, "Pointer_Left" },
+  { 0x00fee1, "Pointer_Right" },
+  { 0x00fee2, "Pointer_Up" },
+  { 0x00fee3, "Pointer_Down" },
+  { 0x00fee4, "Pointer_UpLeft" },
+  { 0x00fee5, "Pointer_UpRight" },
+  { 0x00fee6, "Pointer_DownLeft" },
+  { 0x00fee7, "Pointer_DownRight" },
+  { 0x00fee8, "Pointer_Button_Dflt" },
+  { 0x00fee9, "Pointer_Button1" },
+  { 0x00feea, "Pointer_Button2" },
+  { 0x00feeb, "Pointer_Button3" },
+  { 0x00feec, "Pointer_Button4" },
+  { 0x00feed, "Pointer_Button5" },
+  { 0x00feee, "Pointer_DblClick_Dflt" },
+  { 0x00feef, "Pointer_DblClick1" },
+  { 0x00fef0, "Pointer_DblClick2" },
+  { 0x00fef1, "Pointer_DblClick3" },
+  { 0x00fef2, "Pointer_DblClick4" },
+  { 0x00fef3, "Pointer_DblClick5" },
+  { 0x00fef4, "Pointer_Drag_Dflt" },
+  { 0x00fef5, "Pointer_Drag1" },
+  { 0x00fef6, "Pointer_Drag2" },
+  { 0x00fef7, "Pointer_Drag3" },
+  { 0x00fef8, "Pointer_Drag4" },
+  { 0x00fef9, "Pointer_EnableKeys" },
+  { 0x00fefa, "Pointer_Accelerate" },
+  { 0x00fefb, "Pointer_DfltBtnNext" },
+  { 0x00fefc, "Pointer_DfltBtnPrev" },
+  { 0x00fefd, "Pointer_Drag5" },
+  { 0x00ff08, "BackSpace" },
+  { 0x00ff09, "Tab" },
+  { 0x00ff0a, "Linefeed" },
+  { 0x00ff0b, "Clear" },
+  { 0x00ff0d, "Return" },
+  { 0x00ff13, "Pause" },
+  { 0x00ff14, "Scroll_Lock" },
+  { 0x00ff15, "Sys_Req" },
+  { 0x00ff1b, "Escape" },
+  { 0x00ff20, "Multi_key" },
+  { 0x00ff21, "Kanji" },
+  { 0x00ff22, "Muhenkan" },
+  { 0x00ff23, "Henkan" },
+  { 0x00ff23, "Henkan_Mode" },
+  { 0x00ff24, "Romaji" },
+  { 0x00ff25, "Hiragana" },
+  { 0x00ff26, "Katakana" },
+  { 0x00ff27, "Hiragana_Katakana" },
+  { 0x00ff28, "Zenkaku" },
+  { 0x00ff29, "Hankaku" },
+  { 0x00ff2a, "Zenkaku_Hankaku" },
+  { 0x00ff2b, "Touroku" },
+  { 0x00ff2c, "Massyo" },
+  { 0x00ff2d, "Kana_Lock" },
+  { 0x00ff2e, "Kana_Shift" },
+  { 0x00ff2f, "Eisu_Shift" },
+  { 0x00ff30, "Eisu_toggle" },
+  { 0x00ff3c, "SingleCandidate" },
+  { 0x00ff3d, "MultipleCandidate" },
+  { 0x00ff3d, "Zen_Koho" },
+  { 0x00ff3e, "Mae_Koho" },
+  { 0x00ff3e, "PreviousCandidate" },
+  { 0x00ff50, "Home" },
+  { 0x00ff51, "Left" },
+  { 0x00ff52, "Up" },
+  { 0x00ff53, "Right" },
+  { 0x00ff54, "Down" },
+  { 0x00ff55, "Page_Up" },
+  { 0x00ff55, "Prior" },
+  { 0x00ff56, "Next" },
+  { 0x00ff56, "Page_Down" },
+  { 0x00ff57, "End" },
+  { 0x00ff58, "Begin" },
+  { 0x00ff60, "Select" },
+  { 0x00ff61, "Print" },
+  { 0x00ff62, "Execute" },
+  { 0x00ff63, "Insert" },
+  { 0x00ff65, "Undo" },
+  { 0x00ff66, "Redo" },
+  { 0x00ff67, "Menu" },
+  { 0x00ff68, "Find" },
+  { 0x00ff69, "Cancel" },
+  { 0x00ff6a, "Help" },
+  { 0x00ff6b, "Break" },
+  { 0x00ff7e, "Arabic_switch" },
+  { 0x00ff7e, "Greek_switch" },
+  { 0x00ff7e, "Hangul_switch" },
+  { 0x00ff7e, "Hebrew_switch" },
+  { 0x00ff7e, "ISO_Group_Shift" },
+  { 0x00ff7e, "Mode_switch" },
+  { 0x00ff7e, "kana_switch" },
+  { 0x00ff7e, "script_switch" },
+  { 0x00ff7f, "Num_Lock" },
+  { 0x00ff80, "KP_Space" },
+  { 0x00ff89, "KP_Tab" },
+  { 0x00ff8d, "KP_Enter" },
+  { 0x00ff91, "KP_F1" },
+  { 0x00ff92, "KP_F2" },
+  { 0x00ff93, "KP_F3" },
+  { 0x00ff94, "KP_F4" },
+  { 0x00ff95, "KP_Home" },
+  { 0x00ff96, "KP_Left" },
+  { 0x00ff97, "KP_Up" },
+  { 0x00ff98, "KP_Right" },
+  { 0x00ff99, "KP_Down" },
+  { 0x00ff9a, "KP_Page_Up" },
+  { 0x00ff9a, "KP_Prior" },
+  { 0x00ff9b, "KP_Next" },
+  { 0x00ff9b, "KP_Page_Down" },
+  { 0x00ff9c, "KP_End" },
+  { 0x00ff9d, "KP_Begin" },
+  { 0x00ff9e, "KP_Insert" },
+  { 0x00ff9f, "KP_Delete" },
+  { 0x00ffaa, "KP_Multiply" },
+  { 0x00ffab, "KP_Add" },
+  { 0x00ffac, "KP_Separator" },
+  { 0x00ffad, "KP_Subtract" },
+  { 0x00ffae, "KP_Decimal" },
+  { 0x00ffaf, "KP_Divide" },
+  { 0x00ffb0, "KP_0" },
+  { 0x00ffb1, "KP_1" },
+  { 0x00ffb2, "KP_2" },
+  { 0x00ffb3, "KP_3" },
+  { 0x00ffb4, "KP_4" },
+  { 0x00ffb5, "KP_5" },
+  { 0x00ffb6, "KP_6" },
+  { 0x00ffb7, "KP_7" },
+  { 0x00ffb8, "KP_8" },
+  { 0x00ffb9, "KP_9" },
+  { 0x00ffbd, "KP_Equal" },
+  { 0x00ffbe, "F1" },
+  { 0x00ffbf, "F2" },
+  { 0x00ffc0, "F3" },
+  { 0x00ffc1, "F4" },
+  { 0x00ffc2, "F5" },
+  { 0x00ffc3, "F6" },
+  { 0x00ffc4, "F7" },
+  { 0x00ffc5, "F8" },
+  { 0x00ffc6, "F9" },
+  { 0x00ffc7, "F10" },
+  { 0x00ffc8, "F11" },
+  { 0x00ffc9, "F12" },
+  { 0x00ffca, "F13" },
+  { 0x00ffcb, "F14" },
+  { 0x00ffcc, "F15" },
+  { 0x00ffcd, "F16" },
+  { 0x00ffce, "F17" },
+  { 0x00ffcf, "F18" },
+  { 0x00ffd0, "F19" },
+  { 0x00ffd1, "F20" },
+  { 0x00ffd2, "F21" },
+  { 0x00ffd3, "F22" },
+  { 0x00ffd4, "F23" },
+  { 0x00ffd5, "F24" },
+  { 0x00ffd6, "F25" },
+  { 0x00ffd7, "F26" },
+  { 0x00ffd8, "F27" },
+  { 0x00ffd9, "F28" },
+  { 0x00ffda, "F29" },
+  { 0x00ffdb, "F30" },
+  { 0x00ffdc, "F31" },
+  { 0x00ffdd, "F32" },
+  { 0x00ffde, "F33" },
+  { 0x00ffdf, "F34" },
+  { 0x00ffe0, "F35" },
+  { 0x00ffe1, "Shift_L" },
+  { 0x00ffe2, "Shift_R" },
+  { 0x00ffe3, "Control_L" },
+  { 0x00ffe4, "Control_R" },
+  { 0x00ffe5, "Caps_Lock" },
+  { 0x00ffe6, "Shift_Lock" },
+  { 0x00ffe7, "Meta_L" },
+  { 0x00ffe8, "Meta_R" },
+  { 0x00ffe9, "Alt_L" },
+  { 0x00ffea, "Alt_R" },
+  { 0x00ffeb, "Super_L" },
+  { 0x00ffec, "Super_R" },
+  { 0x00ffed, "Hyper_L" },
+  { 0x00ffee, "Hyper_R" },
+  { 0x00ffff, "Delete" },
   { 0x00ff31, "Hangul" },
   { 0x00ff32, "Hangul_Start" },
   { 0x00ff33, "Hangul_End" },
@@ -2102,7 +2077,7 @@ static struct gdk_key {
   { 0x00ff3d, "Hangul_MultipleCandidate" },
   { 0x00ff3e, "Hangul_PreviousCandidate" },
   { 0x00ff3f, "Hangul_Special" },
-  { 0xFFFFFF, "VoidSymbol" },
+  { 0xffffff, "VoidSymbol" },
 };
 
 #define GDK_NUM_KEYS (sizeof (gdk_keys_by_keyval) / sizeof (gdk_keys_by_keyval[0]))
index e90da9668972cf357a499d9bc7ccb27cd698fe16..d281b3ed878a438b56e1992544ddf105c49a2c55 100644 (file)
@@ -406,7 +406,7 @@ extern GdkAtom               gdk_ole2_dnd_atom;
       
 #endif /* G_ENABLE_DEBUG */
 
-extern guint gdk_debug_flags;
+GDKVAR guint gdk_debug_flags;
 
 /* Internal functions for debug output etc. */
 
index e90da9668972cf357a499d9bc7ccb27cd698fe16..d281b3ed878a438b56e1992544ddf105c49a2c55 100644 (file)
@@ -406,7 +406,7 @@ extern GdkAtom               gdk_ole2_dnd_atom;
       
 #endif /* G_ENABLE_DEBUG */
 
-extern guint gdk_debug_flags;
+GDKVAR guint gdk_debug_flags;
 
 /* Internal functions for debug output etc. */
 
index 02bbace8f80e64bd043356301dc188160ca90a75..d7728d69efbb568fc7eec88e7e8190c0aab6be3c 100644 (file)
@@ -1705,17 +1705,15 @@ gdk_window_get_visual (GdkWindow *window)
 
   window_private = (GdkWindowPrivate*) window;
   /* Huh? ->parent is never set for a pixmap. We should just return
-   * null immeditately
+   * null immeditately. Well, do it then!
    */
-  while (window_private && (window_private->window_type == GDK_WINDOW_PIXMAP))
-    window_private = (GdkWindowPrivate*) window_private->parent;
+  if (window_private->window_type == GDK_WINDOW_PIXMAP)
+    return NULL;
   
-  if (window_private && !window_private->destroyed)
+  if (!window_private->destroyed)
     {
        if (window_private->colormap == NULL)
-        {
-           return gdk_visual_get_system (); /* XXX ??? */
-        }
+        return gdk_visual_get_system (); /* XXX ??? */
        else
         return ((GdkColormapPrivate *)window_private->colormap)->visual;
     }
@@ -1735,11 +1733,9 @@ gdk_window_get_colormap (GdkWindow *window)
   if (!window_private->destroyed)
     {
       if (window_private->colormap == NULL)
-       {
-         return gdk_colormap_get_system (); /* XXX ??? */
-        }
-       else
-        return window_private->colormap;
+       return gdk_colormap_get_system (); /* XXX ??? */
+      else
+       return window_private->colormap;
     }
   
   return NULL;
index 02bbace8f80e64bd043356301dc188160ca90a75..d7728d69efbb568fc7eec88e7e8190c0aab6be3c 100644 (file)
@@ -1705,17 +1705,15 @@ gdk_window_get_visual (GdkWindow *window)
 
   window_private = (GdkWindowPrivate*) window;
   /* Huh? ->parent is never set for a pixmap. We should just return
-   * null immeditately
+   * null immeditately. Well, do it then!
    */
-  while (window_private && (window_private->window_type == GDK_WINDOW_PIXMAP))
-    window_private = (GdkWindowPrivate*) window_private->parent;
+  if (window_private->window_type == GDK_WINDOW_PIXMAP)
+    return NULL;
   
-  if (window_private && !window_private->destroyed)
+  if (!window_private->destroyed)
     {
        if (window_private->colormap == NULL)
-        {
-           return gdk_visual_get_system (); /* XXX ??? */
-        }
+        return gdk_visual_get_system (); /* XXX ??? */
        else
         return ((GdkColormapPrivate *)window_private->colormap)->visual;
     }
@@ -1735,11 +1733,9 @@ gdk_window_get_colormap (GdkWindow *window)
   if (!window_private->destroyed)
     {
       if (window_private->colormap == NULL)
-       {
-         return gdk_colormap_get_system (); /* XXX ??? */
-        }
-       else
-        return window_private->colormap;
+       return gdk_colormap_get_system (); /* XXX ??? */
+      else
+       return window_private->colormap;
     }
   
   return NULL;